package com.engine.salary.entity.salaryacct.dto;

import com.cloudstore.eccom.pc.table.WeaTableOperate;
import com.engine.salary.annotation.TableTitle;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Set;

/**
 * 薪资核算列表
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SalaryAcctRecordListDTO {

    //主键id
    private Long id;

    @TableTitle(title = "薪资所属月", dataIndex = "salaryMonth", key = "salaryMonth")
    private String salaryMonth;

    @TableTitle(title = "薪资账套", dataIndex = "salarySobName", key = "salarySobName")
    private String salarySobName;

    @TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgentName", key = "taxAgentName")
    private String taxAgentName;

    @TableTitle(title = "是否回算过", dataIndex = "backCalcStatus", key = "backCalcStatus")
    private Integer backCalcStatus;

    @TableTitle(title = "核算次数", dataIndex = "acctTimes", key = "acctTimes")
    private Integer acctTimes;

    //核算次数是否显示
    private boolean acctTimesViable;

    @TableTitle(title = "税款所属期", dataIndex = "taxCycle", key = "taxCycle")
    private String taxCycle;

    @TableTitle(title = "状态", dataIndex = "status", key = "status")
    private String status;


    @TableTitle(title = "核算人数", dataIndex = "employeeSize", key = "employeeSize")
    private Long employeeSize;

    @TableTitle(title = "核算人", dataIndex = "accountantName", key = "accountantName")
    private String accountantName;

    @TableTitle(title = "最后操作时间", dataIndex = "updateTime", key = "updateTime")
    private String updateTime;

    @TableTitle(title = "备注", dataIndex = "description", key = "description")
    private String description;

    @TableTitle(title = "审批状态", dataIndex = "approvalStatus", key = "approvalStatus")
    private String approvalStatus;

    @TableTitle(title = "操作", dataIndex = "operate", key = "operate")
    private List<WeaTableOperate> operate;

    private Set<String> opts;
}
